package com.tensquare.friend.service;

import com.tensquare.friend.dao.FriendDao;
import com.tensquare.friend.dao.NoFriendDao;
import com.tensquare.friend.pojo.Friend;
import com.tensquare.friend.pojo.NoFriend;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

/**
 * Created by DUZEYU on 2018/12/30.
 */
@Service
@Transactional
public class FriendService {
    @Autowired
    private FriendDao friendDao;
    @Autowired
    private NoFriendDao noFriendDao;


    public int addFriend(String userId, String friendid) {
        // 先判断userid  到  friendid是否有数据，有就是重复添加
        Friend friend = friendDao.findByUseridAndFriendid(userId, friendid);
        if (null != friend){
            return 0;
        }
        // 直接添加好友，让好友表中userid 方向 type为0
        friend = new Friend();
        friend.setUserid(userId);
        friend.setFriendid(friendid);
        friend.setIslike("0");
        friendDao.save(friend);
        // 数据  friendid 到 userid是否有数据， 有就双方都改成一，
        if (null != friendDao.findByUseridAndFriendid(friendid, userId)){
            friendDao.updateIslike("1",friendid, userId);
            friendDao.updateIslike("1",userId, friendid);
        }
        return 1;
    }

    public int addNoFriend(String userId, String friendid) {
        NoFriend noFriend = noFriendDao.findByUseridAndFriendid(userId, friendid);
        if (noFriend != null){
            return 0;
        }
        noFriend = new NoFriend();
        noFriend.setUserid(userId);
        noFriend.setFriendid(friendid);
        noFriendDao.save(noFriend);
        return 1;
    }

    public void deleteFriend(String userId, String friendid) {
        // 删除好友表中 userid 导 friendid 数据
        friendDao.deleteFriend(userId,friendid);
        //更新 friendid 到 userid  islike wei0
        friendDao.updateIslike("0",friendid,userId);
        //添加非好友数据
        NoFriend noFriend = new NoFriend();
        noFriend.setUserid(userId);
        noFriend.setFriendid(friendid);
        noFriendDao.save(noFriend);
    }
}
